'use strict';

///////////////////////////// 门户首页 /////////////////////////////
// 获得课程分类树形结构数据
var category_tree_nodes = function category_tree_nodes() {
  return createAPI('/system/course-category/tree-nodes', 'get');
};

// 我的选课信息列表
// TODO: 登录后调用
var learned_records_list = function learned_records_list(data) {
  return createAPI('/learning/learnedRecords/list?pageNo=' + data.pageNo + '&pageSize=' + data.pageSize, 'post');
};

///////////////////////////// 课程搜索 /////////////////////////////
// 课程分页查询
var course_query = function course_query(pageNo, pageSize, data) {
  return createAPI('/search/course_index?pageNo=' + pageNo + '&pageSize=' + pageSize, 'post', data);
};

///////////////////////////// 课程详情 /////////////////////////////
// 获取当前课程发布的学习进度
// TODO: 登录后调用
var my_course_record = function my_course_record(coursePubId) {
  return createAPI('/learning/learnedRecords/myCourseRec/' + coursePubId, 'get');
};

// 机构概览(模拟)
var company_overview = function company_overview(companyId) {
  return createAPI('/teaching/company/overview/' + companyId, 'get');
};

// 课程评论列表
var get_course_comment = function get_course_comment(pageNo, pageSize, data) {
  return createAPI('/teaching/course-comment/for-course?pageNo=' + pageNo + '&pageSize=' + pageSize, 'post', data);
};

// 课程评论统计(模拟)
var course_comment_statistics = function course_comment_statistics(targetId) {
  return createAPI('/teaching/course-comment/course-statistics/' + targetId, 'get');
};

// 获取当前课程发布的学习用户记录
var recent_learned_users = function recent_learned_users(coursePubId) {
  return createAPI('/learning/learnedRecords/recentLearnedUsers', 'get', {
    coursePubId: coursePubId
  });
};

// 评论课程
var submit_course_comment = function submit_course_comment(data) {
  return createAPI('/teaching/course-comment', 'post', data);
};

///////////////////////////// 课程学习 /////////////////////////////

// 获取课程发布信息，根据课程Id从索引库中查询数据
var search_course_index = function search_course_index(coursePubId) {
  return createAPI('/search/course_index/' + coursePubId, 'get');
};

// 获取媒资资源地址
var get_resource_url = function get_resource_url(data) {
  return createAPI('/learning/resource-url', 'get', data);
};

// 生成/更新当前课程发布的学习进度，由前端间隔调用，保存学习进度
// TODO: 容错处理
var save_records_progress = function save_records_progress(data) {
  return createAPI('/learning/learnedRecords/progress', 'post', data);
};

// 查询课程计划作业
var get_teaching_work = function get_teaching_work(workId) {
  return createAPI('/teaching/work/' + workId, 'get');
};

// 添加或修改作业记录--学员
var submit_work_record = function submit_work_record(data) {
  return createAPI('/teaching/work-record', 'post', data);
};

///////////////////////////// 课程支付 /////////////////////////////

// 根据课程发布ID生成课程支付订单
var create_order = function create_order(coursePubId) {
  return createAPI('/order/orders/create/' + coursePubId, 'get');
};

// 微信支付：根据课程订单号 去微信支付系统同一下单，返回codeURL(二维码链接)
var create_pay = function create_pay(orderNo) {
  return createAPI('/order/orderPay/wxPay/createPay', 'get', { orderNo: orderNo });
};

// 根据订单编号查询订单信息
var search_order = function search_order(orderNo) {
  return createAPI('/orders/order/' + orderNo, 'get');
};